package com.itcast.demo_one.kotlin

fun main(args: Array<String>) {

    val stu1 = Student(1001, "张三", 18, "软件工程", 90)
    val stu2 = Student(1002, "李四", 19, "软件工程", 80)
    val stu3 = Student(1003, "王五", 20, "软件工程", 70)

    // 1. 实现了toString()方法
    /*println(stu1)
    println(stu2)
    println(stu3)*/

    // 2. 使用
    println(stu1.age)
    val stu4 = Student(1001, "张三", 18, "软件工程", 90)
    // println(stu1 == stu4)
    // println(stu1.equals(stu4))
    // println(stu1.toString())


    // 3. 使用copy方法
    val stu5 = Student(1001, "张三", 18, "软件工程", 90)
    val stu6 =  stu5.copy(name = "王五", age = 19)
    println(stu6)

    // 4. 解构
    val (id, name, age, className, score) = stu5
    println("学号: $id, 姓名: $name, 年龄: $age, 班级: $className, 分数: $score")



}

// 1. 定义数据类
data class Student(
    // 学号
    val id: Int,
    var name: String,
    var age: Int,
    val className:  String,
    var score: Int
)